package com.centerm.structure.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.centerm.structure.domain.RolePermission;
import com.centerm.structure.dto.PermissionInfo;
import com.centerm.structure.dto.RolePermissionInfo;

/**
* @ClassName: RolePermissionDao
* @Description: 角色权限关系数据层接口
* @author czy
* @date 2017年8月10日
 */
@Repository
public interface RolePermissionDao {
	/**
	* @Description: 根据id删除记录
	* @author czy
	* @date 2017年8月10日
	* @param id
	* @return int
	 */
    int deleteById(Integer id);

    /**
     * @Description: 新增记录
     * @author czy
     * @date 2017年8月10日
     * @param record 角色权限关系记录
     * @return int
      */
    int insert(RolePermission record);

    /**
     * @Description: 根据id获取记录
     * @author czy
     * @date 2017年8月10日
     * @param id
     * @return 记录
      */
    RolePermission getById(Integer id);

    /**
     * @Description: 更新记录（只针对非空字段）
     * @author czy
     * @date 2017年8月10日
     * @param record 记录
     * @return int
      */
    int update(RolePermission record);

    /**
     * @Description 根据条件查询记录列表
     * @author czy
     * @date 2017年8月16日
     * @param RolePermissionInfo record
     * @return List<RolePermissionInfo>
     */
	List<RolePermissionInfo> listByParam(RolePermissionInfo record);
	
	/**
     * @Description 根据角色id获取权限列表
     * @author czy
     * @date 2017年8月16日
     * @param RolePermissionInfo record
     * @return List<PermissionInfo>
     */
	List<PermissionInfo> listByRoleId(RolePermissionInfo record);
	
	/**
     * @Description 根据角色id删除权限
     * @author czy
     * @date 2017年8月16日
     * @param roleId 角色id
     * @return result 删除的记录数
     */
	Integer deleteByRoleId(Integer roleId);
}